package com.starry.module.system.core.file.service;

import com.starry.core.common.domain.vo.PageVo;
import com.starry.module.system.api.file.domain.qo.SysFilePageQo;
import com.starry.module.system.api.file.domain.qo.SysFileQo;
import com.starry.module.system.api.file.domain.vo.SysFileVo;
import com.starry.module.system.core.file.entity.SysFile;

import java.util.Set;

/**
 * 文件信息-服务
 * @author xiaoke
 */
public interface SysFileService {

    /**
     * 分页查询所有数据
     *
     * @param pageQo 查询实体
     * @return 所有数据
     */
    PageVo<SysFileVo> page(SysFilePageQo pageQo);


    /**
     * 根据文件名查询文件信息
     *
     * @param configId 文件配置id
     * @param fileName 文件名
     * @return 文件信息
     */
    SysFile get(Long configId, String fileName);

    /**
     * 新增数据
     *
     * @param sysFileQo 实体对象
     * @return 新增结果
     */
    Long save(SysFileQo sysFileQo);

    /**
     * 删除数据
     *
     * @param idList 主键集合
     */
    void removeByIds(Set<Long> idList);
}

